package cn.qicaiwang.open.app.dto;

import lombok.Data;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.math.BigDecimal;

/**
 * 利息计算DTO
 */
@Data
public class InterestCalculationDTO {
    @NotNull(message = "本金不能为空")
    @DecimalMin(value = "0", message = "本金不能小于0")
    private BigDecimal principal;    // 本金

    @NotNull(message = "年利率不能为空")
    @DecimalMin(value = "0", message = "年利率不能小于0")
    private BigDecimal annualRate;   // 年利率(%)

    @NotBlank(message = "起始日期不能为空")
    @Pattern(regexp = "\\d{4}-\\d{2}-\\d{2}", message = "日期格式应为YYYY-MM-DD")
    private String startDate;        // 起始日期(YYYY-MM-DD)

    @NotBlank(message = "结束日期不能为空")
    @Pattern(regexp = "\\d{4}-\\d{2}-\\d{2}", message = "日期格式应为YYYY-MM-DD")
    private String endDate;          // 结束日期(YYYY-MM-DD)
}
